The present invention relates to systems for processing and storing information of the database type.
Such systems can be rendered accessible to novice users, with the aid of appropriate development tools. These tools are very often used by professionals (persons skilled in the art), since they considerably cut the costs of developing applications geared to a database.
Additionally, it is known that the quality of an application is greatly constrained by the quality of the initial study of the requirements to be satisfied, and consequently by the budget allotted thereto. Now, owing to their xe2x80x9cmechanicalxe2x80x9d formulation, the modules obtained with the aid of the aforesaid tools are generally inflexible. In fact, their flexibility is aimed more toward the tailoring of the user interface than to any variations in the more fundamental requirements.
For these reasons, and also as a function of natural changes in the requirements, it is frequently necessary to modify such an application subsequently. Such a later modification is a very unwieldy task, the magnitude of which grows much faster than the complexity of the relevant application. At present, it is practically inaccessible to non-specialists, whereas, done by specialists, it entails costs which grow rapidly, to the point that it is often less expensive to redo everything each time. This situation, which will be illustrated hereinafter in a very simple example, is obviously unsatisfactory.
The present invention has in particular the aim of affording a solution to this problem.
The data processing device proposed for this purpose is of the type comprising at least one computer, furnished with a central unit with a processor, at least one user peripheral, and a memory, which are run by an operating system, as well as a database management system stored in this computer, and able to cooperate with the operating system so as to allow the user the creation/input and/or the use of a database comprising, for example, at least one data table which can be broken down into rows and columns.
The expression xe2x80x9cdatabase management systemxe2x80x9d is understood here to cover any system of computer files making it possible to manage tables, irrespective of their mode of physical storage.
The invention includes within this device means which may be referred to as a development and assistance tool.
The assistance function is achieved through the fact that, in a means forming an autonomous meta-dictionary, chosen information relating to the structure of the database, typically the tables and the relationships between tables, or equivalent information, is stored dynamically.
Added thereto is an analysis function, which determines and stores (at least temporarily) a representation of groups of columns whose contents are related (related columns are interdependent columns, or, more generally, columns which are dependent on one another).
In practice, the analysis function can involve a statistical tool, suitable for determining interdependencies, and preferably also dependencies, between data sets, by enumerating distinct occurrences, and an analysis (drive) module capable of cooperating with the meta-dictionary and with this statistical tool, so as to obtain and store the said representation of groups of related columns. Advantageously, the statistical tool is based on a means of counting, which preferably operates directly on the columns of each table, in a manner which will be described hereinafter.
The analysis module can be devised so as to repeat the presentation of subgroups of at least two columns, until at least one subgroup is found whose columns are related, or until the possibilities are exhausted. Preferably, it systematically carries out the presentation of all the possible different pairs of columns for the said table, preferably also for all the tables of the database.
On the basis of the analysis, it is possible to undertake a restructuring, so as to establish for the user, at least in create/input mode, a presentation (or xe2x80x9cviewxe2x80x9d) of the database which takes account of at least one group of related columns.
The restructuring module, advantageously associated with a user interface module, commences by selecting a starting table to be processed, columns to be processed from among at least one group of related columns, and a primary relationship key for this group of columns.
The restructuring can be performed by constructing a new table with the data of a group of related columns, as well as with a relationship key with the relevant table.
It can also be performed through the fact that in data input mode (form), modify access is restricted by default to a part only of the columns of a group of related columns, the others being simply read accessible, or even inaccessible.
The analysis means and its storage means can operate in different ways, in particular: on request and/or on satisfaction of certain criteria (which may comprise a partial analysis), or else, conversely, continuously, dynamically (optionally in respect of partial analysis only).
The invention can also be expressed in the form of a process applied to a computer, or else in the form of the novel industrial product constituted by the development tool.